package com.clstu.staticmathod_.interface_;

public class Interface02 {
    public static void main(String[] args) {
        LittleMonkey lm = new LittleMonkey("齐天大圣");
        lm.climb();
        lm.fly();//通过实现接口，可以使类产生的对象更加多态化的传参，就像多了一个接口一样
        lm.swim();//
    }
}

//接口是java单继承机制的一种补充
class Monkey{
    private String name;

    public Monkey(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void climb(){
        System.out.println(name+"会爬树。。");
    }
}

interface Fishable{
    void swim();
}

interface Birdsable{
    void fly();
}

class LittleMonkey extends Monkey implements Fishable,Birdsable{//既继承又实现
    public LittleMonkey(String name) {
        super(name);
    }

    @Override
    public void swim() {
        System.out.println("通过学习，"+getName()+"可以像鱼儿一样游泳。。");
    }

    @Override
    public void fly() {
        System.out.println("通过学习，"+getName()+"可以像鸟儿一样飞翔。。");
    }
}